package com.example.demo.item;

import com.example.demo.Demo;
import com.example.demo.block.ModBlocks;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;

/**
 * ModeItemGroup类用于定义和注册游戏中的物品组
 * 物品组是游戏中的一个分类方式，用于在创造模式物品栏中组织和展示物品
 */
public class ModeItemGroup {
    // 定义一个名为EXAMPLE_ITEM_GROUP的物品组
    // 该物品组将在创造模式物品栏中显示，并包含一些示例物品和方块
    public static final ItemGroup EXAMPLE_ITEM_GROUP = Registry.register(Registries.ITEM_GROUP,
            new Identifier(Demo.MOD_ID, "example_item_group"),
            FabricItemGroup.builder().displayName(Text.translatable("itemGroup.example_item_group"))
                    .icon(() -> new ItemStack(ModItems.EXAMPLE_ITEM)).entries((displayContext, entries) -> {
                        entries.add(ModItems.EXAMPLE_ITEM);
                        entries.add(Items.BOOK);
                        entries.add(Blocks.GRASS_BLOCK);
                        entries.add(ModBlocks.EXAMPLE_BLOCK);
                        entries.add(ModBlocks.RAW_EXAMPLE_BLOCK);
                        entries.add(ModBlocks.EXAMPLE_ORE_BLOCK);
                        entries.add(ModBlocks.FIRE_ETHER);
                        entries.add(ModItems.RAW_EXAMPLE_ITEM);
                        entries.add(ModItems.PROSPPECTOR_ITEM);
                        entries.add(ModItems.BANANA);
                        entries.add(ModItems.FUEL_ANTHRACITE);
                    })
                    .build());

    /**
     * 注册物品组的方法
     * 该方法主要用于日志输出，确认物品组已成功注册
     */
    public static void init() {
        Demo.LOGGER.info("Registering Item Groups for " + Demo.MOD_ID);
    }
}
